From: Jasper St. Pierre Date: Wed, 27 Jun 2012 15:47:51 +0000 (-0400) Subject: shellDBus: Split extensions API out into a separate DBus interface X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~6394 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7da0f398a560420b31a5bd68d9340b83c84d2ac4;p=gnome-shell.git shellDBus: Split extensions API out into a separate DBus interface The generic "Shell" interface was getting a bit too crowded. https://bugzilla.gnome.org/show_bug.cgi?id=679099 --- diff --git a/browser-plugin/browser-plugin.c b/browser-plugin/browser-plugin.c index 170372432..d16f8056c 100644 --- a/browser-plugin/browser-plugin.c +++ b/browser-plugin/browser-plugin.c @@ -225,7 +225,7 @@ NPP_New(NPMIMEType mimetype, NULL, /* interface info */ "org.gnome.Shell", "/org/gnome/Shell", - "org.gnome.Shell", + "org.gnome.Shell.Extensions", NULL, /* GCancellable */ &error); if (!data->proxy) diff --git a/js/ui/shellDBus.js b/js/ui/shellDBus.js index 55de25741..910d5cfc8 100644 --- a/js/ui/shellDBus.js +++ b/js/ui/shellDBus.js @@ -18,17 +18,6 @@ const GnomeShellIface = - - - - - - - - - - - @@ -57,26 +46,8 @@ const GnomeShellIface = - - - - - - - - - - - - - - - - - - ; const GnomeShell = new Lang.Class({ @@ -85,8 +56,8 @@ const GnomeShell = new Lang.Class({ _init: function() { this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(GnomeShellIface, this); this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell'); - ExtensionSystem.connect('extension-state-changed', - Lang.bind(this, this._extensionStateChanged)); + + this._extensionsSerivce = new GnomeShellExtensions(); }, /** @@ -198,6 +169,64 @@ const GnomeShell = new Lang.Class({ flashspot.fire(); }, + get OverviewActive() { + return Main.overview.visible; + }, + + set OverviewActive(visible) { + if (visible) + Main.overview.show(); + else + Main.overview.hide(); + }, + + ShellVersion: Config.PACKAGE_VERSION +}); + +const GnomeShellExtensionsIface = + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +; + +const GnomeShellExtensions = new Lang.Class({ + Name: 'GnomeShellExtensionsDBus', + + _init: function() { + this._dbusImpl = Gio.DBusExportedObject.wrapJSObject(GnomeShellExtensionsIface, this); + this._dbusImpl.export(Gio.DBus.session, '/org/gnome/Shell'); + ExtensionSystem.connect('extension-state-changed', + Lang.bind(this, this._extensionStateChanged)); + }, + + ListExtensions: function() { let out = {}; for (let uuid in ExtensionUtils.extensions) { @@ -276,17 +305,6 @@ const GnomeShell = new Lang.Class({ ExtensionSystem.loadExtension(uuid); }, - get OverviewActive() { - return Main.overview.visible; - }, - - set OverviewActive(visible) { - if (visible) - Main.overview.show(); - else - Main.overview.hide(); - }, - ShellVersion: Config.PACKAGE_VERSION, _extensionStateChanged: function(_, newState) {